import java.util.ArrayList;
import java.util.EmptyStackException;

/**
 * Created by Lxx on 2017/4/29.
 */
public class Stack {
    public ArrayList array;
    public int count;
    public Stack(){
        array = new ArrayList();
    }
    public void push (Object o){
        count ++ ;
        array.add(o);
    }
    public Object pop(){
        count -- ;
        Object o = array.get(count);
        array.remove(o);
        return o;
    }
    public Object peek(){
        if(count  == 0){
            throw new EmptyStackException();
        }
        return array.get(array.size()-1);
    }
    public boolean isEmpty(){
        return array.size() == 0;
    }
    public int size(){
        return count;
    }
    public String toString(){
        StringBuilder string = new StringBuilder();
        Stack s = new Stack();
        int size = this.size();
        for(int i = 0;i<size;i++){
            string.append(this.peek().toString());
            if(i < size -1)
                string.append(",");
            s.push(this.pop());
        }
        while (!s.isEmpty()){
            this.push(s.pop());
        }
        return string.toString();
    }
}
